layui.use(['form','layer','layedit','laydate','upload'],function(){
    var form = layui.form
        layer = parent.layer === undefined ? layui.layer : top.layer,
        laypage = layui.laypage,
        upload = layui.upload,
        layedit = layui.layedit,
        laydate = layui.laydate,
        $ = layui.jquery;

    //用于同步编辑器内容到textarea
    layedit.sync(editIndex);
    var editor = null;
    $(function () {
        var E = window.wangEditor
        editor = new E('#editor');

        //开启debug模式
        editor.customConfig.debug = true;
        // 关闭粘贴内容中的样式
        editor.customConfig.pasteFilterStyle = false
        // 忽略粘贴内容中的图片
        editor.customConfig.pasteIgnoreImg = true

        // 上传图片到服务器
        editor.customConfig.uploadFileName = 'myFile'; //设置文件上传的参数名称
        editor.customConfig.uploadImgServer = '/personal_blog/upload'; //设置上传文件的服务器路径
        editor.customConfig.uploadImgMaxSize = 3 * 1024 * 1024; // 将图片大小限制为 3M
        //自定义上传图片事件
        editor.customConfig.uploadImgHooks = {
            before : function(xhr, editor, files) {

            },
            success : function(xhr, editor, result) {
                console.log("上传成功");
            },
            fail : function(xhr, editor, result) {
                console.log("上传失败,原因是"+result);
            },
            error : function(xhr, editor) {
                console.log("上传出错");
            },
            timeout : function(xhr, editor) {
                console.log("上传超时");
            }
        }
        editor.create();

        var id = getUrlParms("id");
        if(id!=null){
            axios.get("/personal_blog/blogs/"+id).then(function (reponse) {
                var bean = reponse.data;
                $("#beanId").val(bean.id);
                $("#releaseDate").val(bean.releaseDate);
                $("#createTime").val(bean.createTime);
                $(".newsName").val(bean.title);
                $(".abstract").val(bean.summary);
                $(".keyWord").val(bean.keyWord);
                editor.txt.html(bean.content);
                axios.get("/personal_blog/blogTypesAll").then(function (response) {
                    var data = response.data;
                    var sel = $("#server");
                    for(var i in data){
                        if(data[i].id == bean.typeId){
                            var opt = "<option value="+data[i].id+" selected>"+data[i].typeName+"</option>";
                        }else{
                            var opt = "<option value="+data[i].id+">"+data[i].typeName+"</option>";
                        }
                        $(sel).append(opt);
                    }
                    form.render("select");
                })
                $("#status").val(bean.newsStatus);
                $("#newsAuthor").val(bean.newsAuthor);
                $(".thumbImg2").attr("src",bean.newsFaceImg);
                $(".openness input[name='openness'][value='"+bean.newsLook+"']").prop("checked","checked");
                if(bean.newsTop){
                	$(".newsTop input[name='newsTop']").attr("checked","checked");
                	form.render();
                }
            })
        }else{
            axios.get("/personal_blog/blogTypesAll").then(function (response) {
                var data = response.data;
                var sel = $("#server");
                for(var i in data){
                    var opt = "<option value="+data[i].id+">"+data[i].typeName+"</option>";
                    $(sel).append(opt);
                }
                form.render("select");
            })
        }
        form.render();
    })


    //上传封面缩略图
    upload.render({
        elem: '.thumbBox2',
        url: '/personal_blog/blogs/uploadBlogFaceImg',
        field:'faceImg',
        method : "post",  //此处是为了演示之用，实际使用中请将此删除，默认用post方式提交
        done: function(res, index, upload){
            $('.thumbImg2').attr('src',res.data.src);
            $('.thumbBox2').css("background","#fff");
        }
    });
    
    //格式化时间
    function filterTime(val){
        if(val < 10){
            return "0" + val;
        }else{
            return val;
        }
    }
    //定时发布
    var time = new Date();
    var submitTime = time.getFullYear()+'-'+filterTime(time.getMonth()+1)+'-'+filterTime(time.getDate())+' '+filterTime(time.getHours())+':'+filterTime(time.getMinutes())+':'+filterTime(time.getSeconds());
    laydate.render({
        elem: '#release',
        type: 'datetime',
        trigger : "click",
        done : function(value, date, endDate){
            submitTime = value;
        }
    });
    form.on("radio(release)",function(data){
        if(data.elem.title == "定时发布"){
            $(".releaseDate").removeClass("layui-hide");
            $(".releaseDate #release").attr("lay-verify","required");
        }else{
            $(".releaseDate").addClass("layui-hide");
            $(".releaseDate #release").removeAttr("lay-verify");
            submitTime = time.getFullYear()+'-'+(time.getMonth()+1)+'-'+time.getDate()+' '+time.getHours()+':'+time.getMinutes()+':'+time.getSeconds();
        }
    });

    form.verify({
        newsName : function(val){
            if(val == ''){
                return "文章标题不能为空";
            }
        },
        content : function(val){
            if(val == ''){
                return "文章内容不能为空";
            }
        }
    })
    form.on("submit(addNews)",function(data){
        //截取文章内容中的一部分文字放入文章摘要
       // var abstract = layedit.getText(editIndex).substring(0,50);
        //弹出loading
        var index = top.layer.msg('数据提交中，请稍候',{icon: 16,time:false,shade:0.8});
        // 实际使用时的提交信息
        var bean = {
            title:$(".newsName").val(),
            summary:$(".abstract").val(),
            content : editor.txt.html(),
            contentNoTag : editor.txt.text(),
            keyWord : $(".keyWord").val(),
            typeId : $("#server").val(),
            newsStatus : $("#status").val(),
            newsLook :$("input[name='openness']:checked").val(),
            newsTop : $("input[name='newsTop']").prop("checked"),
            newsFaceImg: $(".thumbImg2").attr("src"),
        	newsAuthor:$("#newsAuthor").val(),
        };
        
        
        
        if($("#beanId").val()){
            bean.id=$("#beanId").val();
            bean.createTime=$("#createTime").val();
            bean.releaseDate=$("#releaseDate").val();
            console.log(bean)
            axios.put("/personal_blog/blogs",bean).then(function(response){
                setTimeout(function(){
                    top.layer.close(index);
                    top.layer.msg("文章添加成功！");
                    layer.closeAll("iframe");
                    //刷新父页面
                    parent.location.reload();
                },500);
            })
            return false;
        }

        axios.post("/personal_blog/blogs",bean).then(function(response){
            setTimeout(function(){
                top.layer.close(index);
                top.layer.msg("文章添加成功！");
                layer.closeAll("iframe");
                //刷新父页面
                parent.location.reload();
            },500);

        })


        // $.post("上传路径",{
        //     newsName : $(".newsName").val(),  //文章标题
        //     abstract : $(".abstract").val(),  //文章摘要
        //     content : layedit.getContent(editIndex).split('<audio controls="controls" style="display: none;"></audio>')[0],  //文章内容
        //     newsImg : $(".thumbImg").attr("src"),  //缩略图
        //     classify : '1',    //文章分类
        //     newsStatus : $('.newsStatus select').val(),    //发布状态
        //     newsTime : submitTime,    //发布时间
        //     newsTop : data.filed.newsTop == "on" ? "checked" : "",    //是否置顶
        // },function(res){
        //
        // })

        return false;
    })

    //预览
    form.on("submit(look)",function(){
        layer.alert("此功能需要前台展示，实际开发中传入对应的必要参数进行文章内容页面访问");
        return false;
    })

    //创建一个编辑器
    var editIndex = layedit.build('news_content',{
        height : 535,
        uploadImage : {
            url : "../../json/newsImg.json"
        }
    });

    function getUrlParms(para){
        var search=location.search; //页面URL的查询部分字符串
        var arrPara=new Array(); //参数数组。数组单项为包含参数名和参数值的字符串，如“para=value”
        var arrVal=new Array(); //参数值数组。用于存储查找到的参数值

        if(search!=""){
            var index=0;
            search=search.substr(1); //去除开头的“?”
            arrPara=search.split("&");

            for(i in arrPara){
                var paraPre=para+"="; //参数前缀。即参数名+“=”，如“para=”
                if(arrPara[i].indexOf(paraPre)==0&& paraPre.length<arrPara[i].length){
                    arrVal[index]=decodeURI(arrPara[i].substr(paraPre.length)); //顺带URI解码避免出现乱码
                    index++;
                }
            }
        }

        if(arrVal.length==1){
            return arrVal[0];
        }else if(arrVal.length==0){
            return null;
        }else{
            return arrVal;
        }
    }




})